package com.example.lt.entity.user;

import com.baomidou.mybatisplus.annotation.TableField;
import com.example.lt.entity.BaseEntity;
import lombok.*;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import java.util.Set;

/**
 * @Author 小涛Tao
 * @Date: 2024/07/27/10:50
 * version 1.0 注释：
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class User extends BaseEntity {

    public static final long serialVersionUID = 1L;

    // 用户昵称
    private String nickName;

    // 用户邮箱
    @Email
    private String email;

    // 用户密码
    @NotBlank(message = "密码不能为空")
    private String password;

    // 用户描述
    private String description;

    // 性别，1（true）：男  0（false）：女
    private Boolean sex;

    // 头像
    private Long avatar;

    // 用户默认收藏夹id
    private Long defaultFavoritesId;

    // 互相关注属性，表示我关注的用户是否也关注了我
    @TableField(exist = false)
    private Boolean each;

    // 用户的角色集合
    @TableField(exist = false)
    private Set<String> roleName;

}
